/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.isfd.domain;

import com.anwen.mongo.annotation.ID;
import com.anwen.mongo.annotation.collection.CollectionField;
import com.anwen.mongo.annotation.collection.CollectionName;
import com.comac.ins.isfd.constant.MongoDataConstant;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import java.util.Date;
import java.util.List;


/**
 * 自然网格结果对比结果实体类
 *
 * @author lj
 * @date 2025-01-13
 */
@Data
@Document(collection = MongoDataConstant.MESH_OP2_COMPARE_RESULT_TABLE_NAME)
public class IsfdMeshOp2CompareResult {

    /**
     * _id
     */
    @Id
    private String _id;

    /**
     * 任务名称
     */
    @Field("task_name")
    @NotNull(message = "taskName不能为空！")
    private String taskName;

    /**
     * 所属部段
     */
    @Field("section_number")
    @NotNull(message = "sectionNumber不能为空！")
    private List<String> sectionNumbers;

    /**
     * 对比对象列表
     */
    @Field("compared_objects")
    @NotNull(message = "comparedObjects不能为空!")
    private List<IsfdMeshOp2CompareObject> comparedObjects;

    /**
     * 对比结果
     */
    @Field("result_items")
    private List<IsfdMeshOp2CompareResultItem> resultItems;
}
